mardi 22 avril 2025

Décrypter MCP, de la théorie à la pratique et sa sécurité


J'adore découvrir les nouveautés qui tournent autour du développement .NET

En 2000, je vous parlais déjà de .NET avant sa sortie officielle, il y a déjà 7 ans, je vous faisais découvrir Blazor et en 2023 on explorait les premières versions de Semantic Kernel.
Cette année, mon petit doigt me dit que les 3 lettres MCP vont être au coeur des discussions.
Dans cet épisode, je vous présente ses principes fondamentaux, la théorie et la mise en pratique avec des exemples concrets qui vous permettrons de mieux comprendre cette hype autour de MCP.
devdevdev .NET épisode 68, MCP au coeur de l'IA, c'est parti !!!

Anthony Simon Staff developer software developer chez Worklip D. net expert technical leader et blog et blogger sur son blog post qui est anthonysimilimon.com et également Laurent Kempé Bonjour Salut tout le monde Microsoft MVP depuis 2003.

Les participants

Les liens de l’épisode

Le code source utilisé pour les demos : https://github.com/RichardC64/MCP-Playgrounds

Le serveur MCP client Microsoft Graph : https://github.com/merill/lokka

Le code source du serveur MCP de Github : https://github.com/github/github-mcp-server

Vous voulez consommer des serveurs MCP. Voici des sites qui les référencent :

Les articles de Laurent sur le sujet :

décrypter MCP, de la théorie à la pratique – devdevdev.net



L’épisode sur Youtube

Pensez à vous abonner à notre 📺 chaine Youtube 📺



Voici un résumé en 10 points avec timestamps du podcast "Décrypter MCP, de la théorie à la pratique" :


🔹 Résumé en 10 points avec timestamps

  1. [00:01] Introduction au sujet et historique
    L’hôte rappelle son intérêt de longue date pour les nouveautés dans le développement .NET, et annonce que le protocole MCP (Modèle Contexte Protocole) sera central en 2025.

  2. [01:18] Présentation des invités

    • Anthony Simon (developer chez Worklip, blogueur)

    • Laurent Kempé (Microsoft MVP, architecte chez Inobo)

  3. [02:38] Définition de MCP
    MCP, open-source depuis novembre 2024 par Anthropic, vise à améliorer l'interaction entre IA et outils externes avec une approche normalisée, contrairement aux API REST traditionnelles.

  4. [05:18] Avantages du protocole MCP
    Il permet une extensibilité plug-and-play et une interopérabilité plus simple entre les IA et les services/outils, en centralisant la logique dans un protocole commun.

  5. [14:28] Analogie avec l’USB-C
    MCP est décrit comme le "USB-C des LLM" : une interface universelle entre l’IA et les outils, où le client expose son contexte au serveur, et non l’inverse.

  6. [21:24] Types de transport supportés
    MCP fonctionne via STDIO (in-process) ou streamable HTTP. La sécurité est cruciale, car certaines configurations permettent au serveur d'accéder au disque local, posant des risques.

  7. [30:10] Intégration dans les projets .NET
    L’ajout de MCPServerTool permet d'exposer des méthodes à l’IA comme des outils (ex : un outil "écho"). Très peu de code est nécessaire pour l’intégration.

  8. [42:08] Exemple concret avec Visual Studio Code
    Une démo montre un client qui appelle un serveur MCP avec un tool "Echo", l’IA traite la requête et interagit de manière fluide avec l’environnement de développement.

  9. [57:00] Benchmark et performance des LLMs
    Le podcast évoque le Berkeley Function Calling Leaderboard pour évaluer la compatibilité des LLM avec les tools MCP. Exemple d’utilisation de Ollama pour gérer les costs.

  10. [1:12:30] Perspectives et sécurité
    Discussion autour d’un potentiel marketplace de serveurs MCP, des problématiques d’authentification et de la sécurité, notamment en environnement Docker/cloud.


Les aspects sécurités :

Voici une extraction des passages liés à la sécurité dans la transcription du podcast "Décrypter MCP, de la théorie à la pratique" :


🔐 Sujets liés à la sécurité dans le contexte du protocole MCP :

  1. Accès au système de fichiers par le serveur MCP (25:47) :

    "Un autre serveur MCP qui s'appelle F system [...] permet de voir ce qu’il y a sur ton disque dur."
    ➤ Cela soulève des enjeux importants de sécurité quant à la protection des données locales accessibles par les outils distants.

  2. Exécution avec droits administrateur (23:11) :

    "Si ton application est lancée en tant qu’admin, ton NPX est admin... et là, c’est l’intelligence universelle qui contrôle ta machine."
    Risque élevé si le LLM ou le serveur MCP peut exécuter des outils avec les privilèges administrateur. Cela pourrait exposer tout le système.

  3. Utilisation de STDIO vs Docker et notion de sandboxing (21:24) :

    "Quand tu lances un container Docker et que tu échanges via STDIO, c’est pas le même process..."
    ➤ Discussion sur la séparation des processus : isolation des outils, sécurité du runtime, confinement via conteneurs.

  4. Authentification pour accéder à des services comme Jira (1:16:42) :

    "Pour accéder à Jira, il faut fournir une certaine forme d’authentification."
    ➤ Nécessité de protéger les identifiants, de limiter les accès, et d’implémenter une gestion fine des permissions.

  5. Omission volontaire du volet sécurité (1:16:59) :

    "On n’a pas finalement parlé de la sécurité."
    ➤ Reconnaissance par les intervenants que la sécurité n’a pas été abordée en détail, ce qui souligne son importance potentiellement sous-estimée.


Voici une extraction des enjeux de sécurité liés au protocole MCP (Machine Communication Protocol).

 Ceci en lien avec l’intégration d’assistants IA et la communication avec des systèmes d'information :


🔐 Sujets de sécurité concernant le protocole MCP

1. Authentification et contrôle d’accès

  • Risque : accès non autorisé à des systèmes critiques via MCP.

  • Mesures :

    • Intégration de mécanismes d’authentification forte (MFA, certificats).

    • Définition fine des rôles et permissions (RBAC/ABAC).

    • Journaux d’audit détaillés.

2. Chiffrement des communications

  • Risque : interception ou manipulation des données en transit (attaque Man-in-the-Middle).

  • Mesures :

    • Utilisation de TLS/SSL pour toutes les communications.

    • Vérification d’intégrité des messages échangés.

3. Validation des données échangées

  • Risque : injection de commandes, données corrompues ou malveillantes.

  • Mesures :

    • Sanitation et validation stricte des entrées/sorties.

    • Détection d’anomalies ou de comportements suspects.

4. Protection contre les attaques par déni de service (DoS/DDoS)

  • Risque : surcharge du système via des requêtes excessives.

  • Mesures :

    • Limitation du nombre de requêtes par source (rate limiting).

    • Mécanismes de détection et mitigation des attaques réseau.

5. Surveillance et journalisation

  • Risque : compromission silencieuse sans traçabilité.

  • Mesures :

    • Logs sécurisés et horodatés des échanges MCP.

    • Intégration avec des systèmes SIEM pour une supervision centralisée.

6. Mise à jour et gestion des vulnérabilités

  • Risque : exploitation de failles connues dans les implémentations MCP.

  • Mesures :

    • Politique de mise à jour régulière des modules MCP.

    • Tests de pénétration et audits de sécurité périodiques.

7. Séparation des environnements et cloisonnement

  • Risque : propagation d’une compromission d’un système à un autre.

  • Mesures :

    • Isolation réseau des services critiques.

    • Utilisation de conteneurs ou de machines virtuelles avec MCP restreint.

8. Sécurité de l’IA elle-même

  • Risque : manipulation de l’IA via MCP (prompt injection, fuzzing, red teaming).

  • Mesures :

    • Filtrage des requêtes IA.

    • Surveillance du comportement de l’IA (outputs inattendus ou dangereux).


https://1drv.ms/p/c/c18447817ccb3384/EYQzy3yBR4QggMFLWAYAAAABLB6gcfn7YUbK0QyNrZovDQ?e=f3RaAQ  MISTRAL et MCP

https://1drv.ms/p/c/c18447817ccb3384/EfjDxtoWsexBse2JnqfZX-UBEOdvVcODox-FNWj2CrUVjQ?e=U1xdX0   PPT  Sécurité du Protocole MCP


--- 

 Pierre Erol GIRAUDY 





jeudi 17 avril 2025

Claude et votre compte Gmail, Google Agenda et Docs plus MCP.

 Claude peut également se connecter avec votre compte Gmail, Google Agenda et Docs. 

Il comprend votre contexte et peut extraire des informations exactement là où vous en avez besoin.
Aujourd'hui, nous lançons Recherche, ainsi qu'une nouvelle intégration avec Google Workspace. Claude rassemble désormais les informations de votre travail et du web.

La recherche représente une nouvelle façon de travailler avec Claude. Elle explore vos questions sous différents angles, effectue des recherches et fournit des réponses en quelques minutes. Un équilibre parfait entre profondeur et rapidité pour votre travail quotidien. 

https://www.anthropic.com/claude

Outils de Claude







Anthropic s’intègre discrètement dans divers logiciels et applications des entreprises. Cette semaine, la start-up a annoncé avec Google que Claude peut désormais s’intégrer à Google Workspace, notamment à Gmail, Agenda et Google Docs. "En connectant Google Workspace, Claude peut consulter vos e-mails, vos documents et vos rendez-vous en toute sécurité, évitant ainsi de télécharger manuellement des fichiers ou de fournir régulièrement des informations contextuelles sur votre travail et votre emploi du temps."
Ce rapprochement entre Anthropic et Google n’est pas surprenant, puisque Google a massivement investi dans Anthropic il y a quelques mois. Cela semble être une évolution naturelle de leur collaboration. Pour accéder à cette intégration, une version bêta est disponible pour tous les utilisateurs payants via les paramètres de profil. Les administrateurs des forfaits Team et Enterprise doivent activer l’accès à Google Workspace au niveau du domaine avant que les utilisateurs puissent connecter leurs comptes. De plus, les administrateurs du plan Claude Enterprise peuvent activer l’indexation des documents Google Docs pour toute l’entreprise.

Partager le contexte avec Claude :

Claude peut recevoir des informations comme des invites et des pièces jointes de serveurs spécialisés utilisant le Model Context Protocol (MCP). En savoir plus sur le MCP.

Mes Serveurs MCP installés

secure-filesystem-server 0.2.0
github-mcp-server 0.6.2
memory-server 1.0.0


Example Servers - Model Context Protocol


{
  "mcpServers": {
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"]
    },
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/files"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>

Pour trouver votre "GITHUB_PERSONAL_ACCESS_TOKEN",
vous devez suivre ces étapes sur GitHub :

  1. Connectez-vous à votre compte GitHub
  2. Cliquez sur votre photo de profil en haut à droite
  3. Sélectionnez "Settings" (Paramètres) https://github.com/settings/apps
  4. Faites défiler jusqu'à la section "Developer settings"
    1. (Paramètres développeur) en bas du menu latéral gauche et cliquez dessus
  5. Cliquez sur "Personal access tokens" (Jetons d'accès personnels)
  6. Sélectionnez "Tokens (classic)" ou "Fine-grained tokens" selon vos besoins
  7. Cliquez sur "Generate new token" (Générer un nouveau jeton)
  8. Donnez un nom descriptif à votre jeton
  9. Sélectionnez les autorisations nécessaires selon votre cas d'utilisation
  10. Cliquez sur "Generate token" (Générer le jeton)
  11. Copiez le jeton généré immédiatement car vous ne pourrez plus le voir
    1. après avoir quitté cette page

Important : Traitez ce jeton comme un mot de passe.

Ne le partagez jamais publiquement et ne le stockez pas dans des repositories publics.

Les outils MCP sont installés :




Zapier MCP—Connect your AI to any app instantly

https://zapier.com/mcp


supergateway/README.md at main · supercorp-ai/supergateway

https://github.com/supercorp-ai/supergateway/blob/main/README.md


modelcontextprotocol/servers: Model Context Protocol Servers

https://github.com/modelcontextprotocol/servers


Example Servers - Model Context Protocol

https://modelcontextprotocol.io/examples#using-reference-servers



--- 

 Pierre Erol GIRAUDY 



La sécurité des Agents Intelligents Génératifs (AIG)

 La sécurité des Agents Intelligents Génératifs (AIG).

La prévention des fuites de données sont des préoccupations majeures à l'ère numérique actuelle. Voici quelques mesures pour s'en prémunir :

1. Sécurité des AIG :

  • Développement sécurisé : Intégrer la sécurité dès la conception et le développement des AIG. Effectuer des tests de sécurité rigoureux pour identifier et corriger les vulnérabilités.
  • Gestion des accès : Mettre en place des contrôles d'accès stricts pour limiter qui peut interagir avec l'AIG et quelles actions ils peuvent effectuer. Utiliser l'authentification multi-facteurs.
  • Surveillance et journalisation : Surveiller l'activité de l'AIG en temps réel et conserver des journaux d'audit détaillés pour détecter toute activité suspecte ou non autorisée.
  • Protection des entrées et sorties : Valider et désinfecter toutes les données d'entrée pour prévenir les attaques par injection. Surveiller et filtrer les sorties pour éviter la divulgation d'informations sensibles.
  • Mises à jour régulières : Maintenir l'AIG et ses dépendances à jour avec les derniers correctifs de sécurité.
  • Formation et sensibilisation : Former les utilisateurs sur les risques potentiels liés à l'utilisation des AIG et sur les meilleures pratiques en matière de sécurité.

2. Prévention des fuites de données :

  • Classification des données : Identifier et classer les données en fonction de leur sensibilité. Appliquer des mesures de sécurité proportionnelles à la sensibilité des données.
  • Chiffrement : Chiffrer les données sensibles au repos et en transit pour les rendre illisibles en cas d'accès non autorisé.
  • Contrôle d'accès aux données : Appliquer le principe du moindre privilège, en n'accordant aux utilisateurs que les accès nécessaires à leurs fonctions.
  • Politiques de gestion des données : Établir et appliquer des politiques claires concernant la collecte, le stockage, le traitement et la suppression des données.
  • Surveillance des flux de données : Mettre en place des outils de surveillance pour détecter les transferts de données inhabituels ou non autorisés.
  • Prévention des pertes de données (DLP) : Utiliser des solutions DLP pour identifier et bloquer les tentatives de fuite de données sensibles.
  • Gestion des incidents de sécurité : Mettre en place un plan de réponse aux incidents de sécurité pour gérer efficacement toute violation de données.
  • Audits de sécurité réguliers : Effectuer des audits de sécurité internes et externes pour évaluer l'efficacité des mesures de sécurité et identifier les points faibles.
  • Sécurité des tiers : S'assurer que les fournisseurs et partenaires qui ont accès aux données appliquent également des mesures de sécurité adéquates.
  • Anonymisation et pseudonymisation : Lorsque cela est possible, anonymiser ou pseudonymiser les données pour réduire les risques en cas de fuite.

En combinant ces mesures de sécurité pour les AIG et de prévention des fuites de données, il est possible de réduire considérablement les risques associés à leur utilisation. 

Il est crucial d'adopter une approche de sécurité multicouche et d'adapter les mesures en fonction des spécificités de chaque AIG et des données traitées.

https://g.co/gemini/share/da62a750377c


--- 

 Pierre Erol GIRAUDY 



Décrypter MCP, de la théorie à la pratique et sa sécurité

J'adore découvrir les nouveautés qui tournent autour du développement .NET En 2000, je vous parlais déjà de .NET avant sa sortie officie...